/*--------------------------------------------------------------------------------------*\
**
** t_adventure_event_base.h
**
** Heroes IV
** Copyright 2000, The 3DO Company
**
\*--------------------------------------------------------------------------------------*/

#if !defined( ADVENTURE_EVENT_LOOK_TRIGGER_H_INCLUDED)
#define ADVENTURE_EVENT_LOOK_TRIGGER_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include <list>

#include "adventure_events_base.h"

#include "actor.h"
#include "counted_ptr.h"
#include "map_point.h"
#include "memory_buffer.h"

// --------------------------------------------------------------------------
// t_adventure_event_look_trigger class : this class is responsible for playing back events when
// the actor activates a trigger in the game, which casues them to look at it. That isn't always captured
// in by the mover events.
// --------------------------------------------------------------------------

class  t_adventure_object;
enum t_direction;

class t_adventure_event_look_trigger : public t_adventure_event_base
{
public:
	// Constructor
	t_adventure_event_look_trigger();
	t_adventure_event_look_trigger( t_actor* adv_object , t_direction dir );
	
	virtual void execute_event( t_adventure_map* map , t_saved_game_header const & header ) ;
	virtual void undo_event( t_adventure_map* map , t_saved_game_header const & header );

	virtual bool	read( std::streambuf & buffer , int version );
	virtual bool	write( std::streambuf & buffer );

protected:

	t_direction						m_trigger_dir;

};

#endif // ADVENTURE_EVENT_PLACE_H_INCLUDED

